/* Nombre de la prueba: Prueba validacion horarios del personal
 * Proposito: Probar la ejecucion de el registro de horarios
 * del personal medico y aplicacion de multas en caso de incumplimiento
 */
SET SERVEROUTPUT ON;
-- El horario del personal 19040601 es 
select pm.cedulapersonal cedula, pm.datopersonal.nombre nombre , h.horainicio, h.horafin
from personal_medico pm, horario h
where pm.idhorario = h.idhorario
and pm.cedulapersonal = 19040601;
-- Cuando el personal llega tarde
INSERT INTO SISTEMACADE.REGISTRO_HORARIO_PER(IDREGISTROHORARIO, FECHAENTRADA, HORAENTRADA, HORASALIDA, CEDULAPERSONAL) 
VALUES(SEQ_IDREGISTROHORARIO.nextval, SYSDATE, TO_TIMESTAMP('7:30','HH24:MI'), NULL, 19040601);
-- Cuando el personal se va antes
UPDATE REGISTRO_HORARIO_PER SET horasalida = TO_TIMESTAMP('16:00','HH24:MI') WHERE cedulapersonal = 19040601
AND fechaentrada = SYSDATE;
SELECT * FROM evento;
select * from descuento_sueldo_personal where cedulapersonal = 19040601;
select * from registro_horario_per;

-- CASO ES QUE CUMPLE CON SU HORARIO
-- Cuando el personal llega bien
INSERT INTO SISTEMACADE.REGISTRO_HORARIO_PER(IDREGISTROHORARIO, FECHAENTRADA, HORAENTRADA, HORASALIDA, CEDULAPERSONAL) 
VALUES(SEQ_IDREGISTROHORARIO.nextval, SYSDATE, TO_TIMESTAMP('7:00','HH24:MI'), NULL, 19040601);
-- Cuando el personal se va bien
UPDATE REGISTRO_HORARIO_PER SET horasalida = TO_TIMESTAMP('18:00','HH24:MI') WHERE cedulapersonal = 19040601
AND fechaentrada = SYSDATE;
SELECT * FROM evento;
select * from descuento_sueldo_personal where cedulapersonal = 19040601;
select * from registro_horario_per;
